import fs from 'fs'
import { fileURLToPath } from 'url';

export const getControllers = function (){
    let controllersUrl = new URL('../controllers',import.meta.url).href;
    let filePath = fileURLToPath(controllersUrl);
    let files = fs.readdirSync(filePath);
    let controllerFiles = files.filter(item => item.endsWith('Controllers.js'));
    let contrllerPath = controllerFiles.map(item => `${controllersUrl}/${item}`);
    
    return contrllerPath;
}

export const regControllers = function (router,controllerFiles){
    controllerFiles.forEach(async item => {
        let arr = await import(item);
        arr.default.forEach(obj => {
            if(obj.method === 'get'){
                router.get(obj.url,obj.fn)
            }
            if(obj.method === 'post'){
                router.post(obj.url,obj.fn)
            }
            if(obj.method === 'put'){
                router.put(obj.url,obj.fn)
            }
            if(obj.method === 'del'){
                router.delete(obj.url,obj.fn)
            }
        }
    )
    });
}